package com.ibiaoke.marketing.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

public class Coupon implements Serializable {
    /**
     * id
     */
    private Integer couponId;

    /**
     * 优惠券编码
     */
    private String couponCode;

    /**
     * 优惠券名称
     */
    private String couponName;

    /**
     * 优惠券类型（1范围优惠券，2时长优惠券）
     */
    private Byte scopeType;

    /**
     * 领取开始时间
     */
    private Date receiveBeginTime;

    /**
     * 领取结束时间
     */
    private Date receiveEndTime;

    /**
     * 使用开始时间
     */
    private Date useBeginTime;

    /**
     * 使用结束时间
     */
    private Date useEndTime;

    /**
     * 优惠券领取后持续天数
     */
    private Integer durationDay;

    /**
     * 满金额可用
     */
    private BigDecimal fullPrice;

    /**
     * 优惠券金额
     */
    private BigDecimal couponPrice;

    /**
     * 发布数量
     */
    private Integer totalCount;

    /**
     * 已领取数量
     */
    private Integer receivedCount;

    /**
     * 优惠券状态（0未发布，1已发布）
     */
    private Byte status;

    /**
     * 0正常  1删除
     */
    private Byte delStatus;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 优惠券分组（0固定金额，1随机金额）
     */
    private Byte priceType;

    /**
     * 优惠券分组
     */
    private String couponGroup;

    /**
     * 使用类型（0全部商品可用，1指定商品可用）
     */
    private Integer useType;

    /**
     * 允许使用的商品id
     */
    private Integer canUseId;

    private static final long serialVersionUID = 1L;

    public Integer getCouponId() {
        return couponId;
    }

    public void setCouponId(Integer couponId) {
        this.couponId = couponId;
    }

    public String getCouponCode() {
        return couponCode;
    }

    public void setCouponCode(String couponCode) {
        this.couponCode = couponCode;
    }

    public String getCouponName() {
        return couponName;
    }

    public void setCouponName(String couponName) {
        this.couponName = couponName;
    }

    public Byte getScopeType() {
        return scopeType;
    }

    public void setScopeType(Byte scopeType) {
        this.scopeType = scopeType;
    }

    public Date getReceiveBeginTime() {
        return receiveBeginTime;
    }

    public void setReceiveBeginTime(Date receiveBeginTime) {
        this.receiveBeginTime = receiveBeginTime;
    }

    public Date getReceiveEndTime() {
        return receiveEndTime;
    }

    public void setReceiveEndTime(Date receiveEndTime) {
        this.receiveEndTime = receiveEndTime;
    }

    public Date getUseBeginTime() {
        return useBeginTime;
    }

    public void setUseBeginTime(Date useBeginTime) {
        this.useBeginTime = useBeginTime;
    }

    public Date getUseEndTime() {
        return useEndTime;
    }

    public void setUseEndTime(Date useEndTime) {
        this.useEndTime = useEndTime;
    }

    public Integer getDurationDay() {
        return durationDay;
    }

    public void setDurationDay(Integer durationDay) {
        this.durationDay = durationDay;
    }

    public BigDecimal getFullPrice() {
        return fullPrice;
    }

    public void setFullPrice(BigDecimal fullPrice) {
        this.fullPrice = fullPrice;
    }

    public BigDecimal getCouponPrice() {
        return couponPrice;
    }

    public void setCouponPrice(BigDecimal couponPrice) {
        this.couponPrice = couponPrice;
    }

    public Integer getTotalCount() {
        return totalCount;
    }

    public void setTotalCount(Integer totalCount) {
        this.totalCount = totalCount;
    }

    public Integer getReceivedCount() {
        return receivedCount;
    }

    public void setReceivedCount(Integer receivedCount) {
        this.receivedCount = receivedCount;
    }

    public Byte getStatus() {
        return status;
    }

    public void setStatus(Byte status) {
        this.status = status;
    }

    public Byte getDelStatus() {
        return delStatus;
    }

    public void setDelStatus(Byte delStatus) {
        this.delStatus = delStatus;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Byte getPriceType() {
        return priceType;
    }

    public void setPriceType(Byte priceType) {
        this.priceType = priceType;
    }

    public String getCouponGroup() {
        return couponGroup;
    }

    public void setCouponGroup(String couponGroup) {
        this.couponGroup = couponGroup;
    }

    public Integer getUseType() {
        return useType;
    }

    public void setUseType(Integer useType) {
        this.useType = useType;
    }

    public Integer getCanUseId() {
        return canUseId;
    }

    public void setCanUseId(Integer canUseId) {
        this.canUseId = canUseId;
    }
}